home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3dm / audiofile / AFinitcompression.z / AFinitcompression
Encoding:
Text File  |  2002-10-03  |  21.3 KB  |  331 lines

  1.  
  2.  
  3.  
  4. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))                                  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      afInitCompression, afInitCompressionParams, afAware - configure the audio
  10.      compression type and parameters in an AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp structure for an audio
  11.      track
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////aaaauuuuddddiiiiooooffffiiiilllleeee....hhhh>>>>
  15.  
  16.      vvvvooooiiiidddd aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp sssseeeettttuuuupppp,,,, iiiinnnntttt ttttrrrraaaacccckkkk,,,, iiiinnnntttt ccccoooommmmpppprrrreeeessssssssiiiioooonnnn))))
  17.  
  18.      vvvvooooiiiidddd aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss((((AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp sssseeeettttuuuupppp,,,, iiiinnnntttt ttttrrrraaaacccckkkk,,,,
  19.                             iiiinnnntttt ccccoooommmmpppprrrreeeessssssssiiiioooonnnn,,,, AAAAUUUUppppvvvvlllliiiisssstttt ppppvvvvlllliiiisssstttt,,,, iiiinnnntttt nnnnuuuummmmiiiitttteeeemmmmssss))))
  20.  
  21. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR
  22.      _s_e_t_u_p         is an AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp structure, previously created by a call
  23.                    to aaaaffffNNNNeeeewwwwFFFFiiiilllleeeeSSSSeeeettttuuuupppp(3dm).
  24.  
  25.      _t_r_a_c_k         is a positive integer which identifies an audio track in a
  26.                    file configuration.
  27.  
  28.                    Since all currently supported file formats contain one
  29.                    audio track per file, the constant value AAAAFFFF____DDDDEEEEFFFFAAAAUUUULLLLTTTT____TTTTRRRRAAAACCCCKKKK
  30.                    should always be used here.
  31.  
  32.      _c_o_m_p_r_e_s_s_i_o_n   is a positive integer symbolic constant which indicates the
  33.                    type of audio compression for the audio track.
  34.  
  35.      _p_v_l_i_s_t        is an AAAAUUUUppppvvvvlllliiiisssstttt structure, previously created by a call to
  36.                    AAAAUUUUppppvvvvnnnneeeewwww(3dm), initialized with parameters, parameter types,
  37.                    and parameter values using AAAAUUUUppppvvvvsssseeeettttppppaaaarrrraaaammmm(3dm),
  38.                    AAAAUUUUppppvvvvsssseeeettttvvvvaaaallllttttyyyyppppeeee(3dm), and AAAAUUUUppppvvvvsssseeeettttvvvvaaaallll(3dm).
  39.  
  40.      _n_u_m_i_t_e_m_s      is the number of valid entries in the _p_v_l_i_s_t as set via
  41.                    AAAAUUUUppppvvvvnnnneeeewwww(3dm).
  42.  
  43. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  44.      aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(((())))  and aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) allows you to
  45.      configure audio tracks for compressed data.  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(((()))) allows a
  46.      one-parameter compression scheme to set up a default codec configuration
  47.      with a set of default compression parameters.  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((())))
  48.      allows not only the choice of codec, but also for a list of codec
  49.      specific compression parameters to be set.
  50.  
  51.      aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) is now obsolete, having been replaced by
  52.      aaaaffffIIIInnnniiiittttFFFFoooorrrrmmmmaaaattttPPPPaaaarrrraaaammmmssss(3dm).  It exists only for backwards compatibility.
  53.      The only compression schemes which have parameters handled via
  54.      aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) are MPEG1 and the Aware, Inc. MultiRate. All
  55.      other compression schemes which have parameters must be handled via
  56.      DDDDMMMMppppaaaarrrraaaammmmssss(3dm) using aaaaffffIIIInnnniiiittttFFFFoooorrrrmmmmaaaattttPPPPaaaarrrraaaammmmssss(3dm).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))                                  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74.      Fifteen values for _c_o_m_p_r_e_s_s_i_o_n may currently be passed to
  75.      aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(((()))) or aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((())))
  76.  
  77.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____NNNNOOOONNNNEEEE        no compression
  78.  
  79.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777711111111____UUUULLLLAAAAWWWW   64kbps CCITT G.711 ulaw encoding, 8 kHz 16-bit
  80.  
  81.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777711111111____AAAALLLLAAAAWWWW   64 kbps CCITT G.711 alaw encoding, 8kHz 16-bit
  82.  
  83.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777722222222        64 kbps CCITT G.722 ADPCM, 16 kHz 16-bit
  84.  
  85.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777722226666        16, 24, 32, or 40 kbps CCITT G.726 ADPCM, 8
  86.                                 kHz 16-bit
  87.  
  88.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777722228888        16 kbps CCITT G.728 ADPCM, 8 kHz 16-bit
  89.  
  90.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGGSSSSMMMM         13 kbps European GSM 06.10 encoding, 8 kHz
  91.                                 16-bit
  92.  
  93.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDVVVVIIII____AAAAUUUUDDDDIIIIOOOO   32 kbps DVI ADPCM, 8 kHz 16-bit
  94.  
  95.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____FFFFSSSS1111000011116666      48, 72, or 96 kbps US Federal Standard 1016
  96.                                 CELP, 8 kHz, 16-bit
  97.  
  98.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____MMMMPPPPEEEEGGGG1111       ISO/MPEG-1 Layers I and II.  Equivalent to
  99.                                 AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMPPPPEEEEGGGG____IIIIIIII.
  100.  
  101.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____MMMMUUUULLLLTTTTIIIIRRRRAAAATTTTEEEE
  102.                                 Aware, Inc's MultiRate I near-lossless or
  103.                                 lossless algorithm.  Equivalent to
  104.                                 AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMUUUULLLLTTTTIIIIRRRRAAAATTTTEEEE.
  105.  
  106.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMPPPPEEEEGGGG____IIII
  107.                                 ISO/MPEG-1-audio layer I, joint-stereo, fixed
  108.                                 rate at 192 Kbps/channel
  109.  
  110.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMPPPPEEEEGGGG____IIIIIIII
  111.                                 ISO/MPEG-1-audio layer II, joint-stereo, fixed
  112.                                 rate at 128 Kbps/channel
  113.  
  114.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMUUUULLLLTTTTIIIIRRRRAAAATTTTEEEE
  115.                                 Aware, Inc.  MultiRate I operating in near-
  116.                                 lossless mode.
  117.  
  118.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____DDDDEEEEFFFFAAAAUUUULLLLTTTT____LLLLOOOOSSSSSSSSLLLLEEEESSSSSSSS
  119.                                 Aware, Inc.  MultiRate I operating in lossless
  120.                                 mode.
  121.  
  122.      For aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))), the parameters and values passed in _p_v_l_i_s_t
  123.      should be taken from the following.  Parameter type is AAAAUUUU____PPPPVVVVTTTTYYYYPPPPEEEE____LLLLOOOONNNNGGGG
  124.      unless otherwise noted.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))                                  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))
  137.  
  138.  
  139.  
  140.      AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____LLLLAAAAYYYYEEEERRRR
  141.           selects which MPEG layer:
  142.  
  143.           AAAAFFFF____MMMMPPPPEEEEGGGG____LLLLAAAAYYYYEEEERRRR____IIII
  144.  
  145.           AAAAFFFF____MMMMPPPPEEEEGGGG____LLLLAAAAYYYYEEEERRRR____IIIIIIII (default)
  146.  
  147.      AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____CCCCHHHHAAAANNNNNNNNEEEELLLL____PPPPOOOOLLLLIIIICCCCYYYY //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____PPPPAAAARRRRAAAAMMMM____CCCCHHHHAAAANNNNNNNNEEEELLLL____PPPPOOOOLLLLIIIICCCCYYYY
  148.           chooses how multiple channels should be treated:
  149.  
  150.           AAAAFFFF____MMMMPPPPEEEEGGGG____SSSSTTTTEEEERRRREEEEOOOO //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____SSSSTTTTEEEERRRREEEEOOOO
  151.                indicates that the channels are part of a single multi-channel
  152.                signal.  This includes 4-channel, etc.;
  153.  
  154.           AAAAFFFF____MMMMPPPPEEEEGGGG____JJJJOOOOIIIINNNNTTTT____SSSSTTTTEEEERRRREEEEOOOO (default)
  155.                indicates that the algorithm may attempt to exploit redundancy
  156.                between channels for greater coding gain; Not valid for
  157.                MultiRate.
  158.  
  159.           AAAAFFFF____MMMMPPPPEEEEGGGG____IIIINNNNDDDDEEEEPPPPEEEENNNNDDDDEEEENNNNTTTT //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____IIIINNNNDDDDEEEEPPPPEEEENNNNDDDDEEEENNNNTTTT
  160.                indicates that the separate channels are unrelated and should
  161.                be processed separately, such as multi-lingual sound tracks.
  162.  
  163.           Note that all of these settings are equivalent for single channel
  164.           input.
  165.  
  166.      AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____TTTTAAAARRRRGGGGEEEETTTT (not for Aware MultiRate)
  167.           specifies the desired bitrate for all channels of compressed data,
  168.           in bits per second.  Note that for some schemes such as MPEG's
  169.           maxrate (not implemented) this is treated as an upper limit, whereas
  170.           for MPEG's fixrate, this is strictly achieved as a constant rate.
  171.           The following is a list of valid bitrates for MPEG.
  172.  
  173.           Layer 1:
  174.                32000, 64000, 96000, 128000, 160000, 192000, 224000, 256000,
  175.                288000, 320000, 352000, 384000, 416000, and 448000.
  176.  
  177.           Layer 2:
  178.                32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000,
  179.                160000, 192000, 224000, 256000, 320000, and 384000.
  180.  
  181.      Default value is 192 kbps / channel for layer 1 and 128 kbps / channel
  182.      for layer 2.
  183.  
  184.      AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY
  185.           Provides for different modes of bit assignment:  The valid values
  186.           depend on the algorithm, as indicated below.
  187.  
  188.           AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY (SGI MPEG):
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))                                  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))
  203.  
  204.  
  205.  
  206.                AAAAFFFF____MMMMPPPPEEEEGGGG____FFFFIIIIXXXXEEEEDDDD____RRRRAAAATTTTEEEE (default)
  207.                     Fixed bitrate per second.
  208.                     The Compression ratio is determined by value of
  209.                     AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____TTTTAAAARRRRGGGGEEEETTTT.
  210.  
  211.                AAAAFFFF____MMMMPPPPEEEEGGGG____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL
  212.                     Bitrate is driven by the psychoacoustic model.  Enough
  213.                     bits are assigned so that a constant Mask to Noise ratio
  214.                     is attained.  See AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL____NNNNMMMMRRRR.
  215.  
  216.           AAAAFFFF____AAAAWWWWAAAARRRREEEE____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY (Aware MultiRate):
  217.  
  218.                AAAAFFFF____AAAAWWWWAAAARRRREEEE____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL
  219.                     Enough bits are assigned so that the signal is 90+ dB
  220.                     above the quantization noise.
  221.                     Compression ratios are typically between 2.5:1 and 4:1.
  222.  
  223.                AAAAFFFF____AAAAWWWWAAAARRRREEEE____LLLLOOOOSSSSSSSSLLLLEEEESSSSSSSS
  224.                     Enough bits are assigned to provide for perfect
  225.                     reconstruction.
  226.                     Compression ratios are typically between 2:1 and 3:1.
  227.  
  228.      AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL____NNNNMMMMRRRR (not for Aware MultiRate)
  229.           For SGI MPEG with AAAAFFFF____AAAAWWWWAAAARRRREEEE____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL, sets the constant quality
  230.           mode noise-to-mask ratio in dB.  Zero yields a theoretic
  231.           psychoacoustic imperceptible compression.  Positive values provide
  232.           more compression and noise becomes audible.  Negative values cause
  233.           less compression and less perceptible noise.  The type of value of
  234.           this parameter is AAAAUUUU____PPPPVVVVTTTTYYYYPPPPEEEE____DDDDOOOOUUUUBBBBLLLLEEEE....
  235.  
  236.      All compression encoding is handled automatically by aaaaffffWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss(3dm).
  237.      An application program only needs to work with linear PCM data.
  238.  
  239.      AIFF files do not support compression, so the configuration parameter
  240.      _c_o_m_p_r_e_s_s_i_o_n will be ignored by aaaaffffOOOOppppeeeennnnFFFFiiiilllleeee(3dm), and the value
  241.      AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____NNNNOOOONNNNEEEE will automatically be associated with the audio data.
  242.  
  243. VVVVAAAALLLLIIIIDDDD IIIINNNNPPPPUUUUTTTT AAAAUUUUDDDDIIIIOOOO DDDDAAAATTTTAAAA FFFFOOOORRRRMMMMAAAATTTTSSSS
  244.      Many compression schemes have restrictions on sampling rates and channel
  245.      counts:
  246.  
  247.      Sampling rates for MPEG must be 32 kHz, 44.1 kHz, or 48 kHz.
  248.  
  249.      Sampling rates for MultiRate must be 8 kHz, 11.025 kHz, 16 kHz, 22.05
  250.      kHz, 32 kHz, 44.1 kHz, or 48 kHz.
  251.  
  252.      Both MPEG and MultiRate must have 1- or 2-channel input.
  253.  
  254.      G728 and GSM compression must always be 8 kHz sampling rate.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))                                  aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm))))
  269.  
  270.  
  271.  
  272.      G726, G728, and GSM compression must have 1-channel input.
  273.  
  274. CCCCAAAAVVVVEEEEAAAATTTTSSSS
  275.      The Audio File Library will continue to support additional file formats
  276.      and compression types.  Be aware of this.  Not all file formats are able
  277.      to store audio data with all of the supported compression types.  For
  278.      example, AIFF-C can store compressed data whereas AIFF can't.  See
  279.      aaaaffffGGGGeeeettttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(3dm) for more information.
  280.  
  281. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  282.      afNewFileSetup(3dm), afOpenFile(3dm), afWriteFrames(3dm),
  283.      afGetCompression(3dm), AwareIntro(3dm), afInitFormatParams(3dm)
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.